Technote QD 520 | June 1993 |
Date reviewed: 7/2/93
Can I assume that the value of the ColorSync CWorld parameter returned by the CWNewColorWorld routine isn't null if the routine was successful? I'd like to determine whether a color world exists by checking the variable for null.
___
You can assume that if no error is returned by CWNewColorWorld, the CWorld parameter will be a valid handle. In other words, it won't be null if no error is returned.
Last reviewed: 6/24/93
How do I access fields within the CMProfile data structure?
___
Use the structures defined in the CMApplication.h file. These structures will allow you to directly access all fields up to the profileName. You can't access the profileName directly because the CMProfileResponse record is variable size. You can determine the profileName by using the GetProfileName call. Likewise, the customData must also be accessed in this way by using the GetProfileAdditionalDataOffset call.
Last reviewed: 4/1/92
Do you have any documentation that describes ColorSync in more detailed than "The ColorSync Utilities" on the Developer CD? I want to develop a ColorSync-aware printer driver and application.
___
The "ColorSync Utilities" document on the Developer CD is a preliminary draft. Apple is updating it to include more sample code and descriptive explanations. The final document will be included as a chapter in Apple's forthcoming Inside Macintosh: QuickDraw reference, which will be available later this year.
"ColorSync: A Tuning Fork for Color," in the February issue of Apple Direct, provides a ColorSync overview. Also, the Print Hints column in the June 1993 issue of develop, "ColorSync and Printing," addresses ColorSync implementation issues for products such as yours.
Last reviewed: 6/14/93
What's the mechanism the Apple Color Printer driver uses for ColorSync?
___
The Apple Color Printer uses the low-level ColorSync color-matching calls to perform color matching in the print bottleneck routines. Thus, color matching happens before rendering so that rendering always occurs with matched colors. For more information, see the section called "What does a printer driver have to do?" in the Print Hints column of the June 1993 issue of develop.
Last reviewed: 6/14/93
I tried calling CMMatchColors with different numbers of colors to match; 10,000 worked fine, but 50,000 or greater crashed with a bus error. Is this a bug?
___
This is a bug in ColorSync 1.0 and 1.0.1. The "for" loop inside the Apple CMM uses a short rather than a long. It's been fixed for version 1.0.2.
Last reviewed: 6/14/93
Which ColorSync responders can I rely on? The ColorSync cdev as I understand it yields the system responder. I don't have anything else (for example, Color Printer driver); how do I get a monitor and printer responder?
___
The ColorSync documentation doesn't discuss responders very well. A system profile responder is always available if ColorSync is installed. It can be used only to set the current system profile and to get the current system profile. A printer profile isn't registered normally and has to be registered by the printer driver when requested to do so with a PrGeneral call.
For more information, please read "Syncing up with ColorSync" in issue 14 of develop.
Last reviewed: 6/14/93
How do I get the right ProfileHandles to convert CMYK to RGB data and vice versa via the low-level MatchColors call? All routines now are returning "Responder errors" (-180 and -182), a description that doesn't help much at the moment.
___
To convert CMYK to RGB, you need to have a proper source profile specifying
that the data is in CMYK format (dataType = "CMYK"), and a proper destination
profile specifying that the data is in RGB format (dataType = "RGB "). You
can use ProfileMaker to modify a current profile (that is, 13" RGB) to create
the CMYK format; or, you can also use the current system profile obtained by
calling GetProfile.
Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help